package LeetCode.leetcode;

/**
 * 合并两个有序数组
 * @author: leiwenkang02@meituan.com
 * @date: 2018/8/25
 * @time: 11:06
 */
public class Test88合并两个有序数组 {
    public static void main(String[] args) {
        int[] nums1 =  {1,2,3,0,0,0};
        int[] nums2 =  {2,4,5};
        merge(nums1, 3, nums2, 3);
        for (int i = 0; i < nums1.length; i++) {
            System.out.println(nums1[i]);
        }
    }

    public static void merge(int[] nums1, int m, int[] nums2, int n) {
        int i = m - 1;
        int j = n - 1;
        int len = m + n - 1;
        while (i >= 0 && j >= 0) {
            if (nums1[i] >= nums2[j]) {
                nums1[len--] = nums1[i--];
            } else {
                nums1[len--] = nums2[j--];
            }
        }
        while (j >= 0) {
            nums1[len--] = nums2[j--];
        }
    }
}
